"""
用函数实现：
接收用户输入的任意数字（位置参数方式传入函数内），计算其斐波那契数列，并使用列表方式储存最后打印出来。
需要注意用户输入不合法的问题

num = int(input("请输入一个数字："))
if num <= 0:
    print("输入不合法")
else:
    # 计算斐波那契数列
    。。。 。。。
"""


def fib(n):
    """
    斐波那契数，递归实现
    """
    if n <= 0:
        return 0                            # 递归出口
    elif n == 1:
        return 1                            # 递归出口
    else:
        return fib(n - 1) + fib(n - 2)      # 递归调用


def fib_list(n):
    """
    计算斐波那契数列，并使用列表方式储存
    """
    fib_list = []                   # 定义一个空列表
    for i in range(n):              # 生成 0 - n-1 的数字
        fib_list.append(
            fib(n=i)
        )   # 循环计算斐波那契数列
    return fib_list                 # 返回列表`


if __name__ == '__main__':      # 这个脚本是主入口
    # print(fib(9))

    n = int(input("请输入一个数字："))
    print(fib_list(n))

